#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

int main()
{
    // 标准I/O库 fopen
    FILE *fp = fopen("test.txt", "r"); // 文件指针
    //  r:只读 r+:读写 如果文件不存在则打开失败
    //  w:只写 w+:读写 如果文件不存在则创建，如果文件存在则清空
    //  a:追加 a+:追加读写 如果文件不存在则创建
    if (fp == NULL)
    {
        perror("fopen");
        return -1;
    }

    printf("%p\n", fp);

    fclose(fp);

    // 系统I/O库 open

    int fd = open("test.txt", O_RDONLY); // 文件描述符
    if (fd == -1)
    {
        perror("open");
        return -1;
    }

    printf("%d\n", fd);

    close(fd);

    return 0;
}

/*
fopen  fclose  fread fwrite  fseek==rewind ftell  feof是否结束  ferror是否出错


fscanf  fprintf 【格式化】文件输入 输出到文件   sprintf 【格式化】输出到字符串

getchar 从stdin获取一个字符     getc==fgetc 从文件指针中获取一个字符

putchar 输出一个字符到stdout    putc==fputc 一个字符输出到文件

puts 输出字符串到stdout自带换行printf("%s\n",str)    fputs()输出字符串到文件
fgets()从文件获取字符串 对比fscanf


*/